.PHONY: dev prod install clean help

# 默认命令
.DEFAULT_GOAL := help

# 开发环境启动
dev:
	@echo "🚀 启动开发环境..."
	@py run.py

# 生产环境启动
prod:
	@echo "🚀 启动生产环境..."
	@py run.py

# 生产环境启动（使用 gunicorn，仅 Linux/Mac）
prod-gunicorn:
	@echo "🚀 使用 Gunicorn 启动生产环境..."
	gunicorn -w 4 -b 0.0.0.0:5000 run:app

# 安装依赖
install:
	@echo "📦 安装项目依赖..."
	py -m pip install -r requirements.txt
	@echo "✅ 依赖安装完成！"

# 清理缓存文件
clean:
	@echo "🧹 清理 Python 缓存文件..."
	@py -c "import pathlib; [p.unlink() for p in pathlib.Path('.').rglob('*.py[co]')]" 2>nul || echo ""
	@py -c "import pathlib, shutil; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__')]" 2>nul || echo ""
	@echo "✅ 缓存清理完成！"

# 运行测试（如果有的话）
test:
	@echo "🧪 运行测试..."
	py -m pytest tests/ -v

# 查看可用模型
models:
	@echo "📋 查看可用的 AI 模型..."
	@curl http://localhost:5000/models

# 查看帮助
help:
	@echo "========================================="
	@echo "  AI 服务项目 - 可用命令"
	@echo "========================================="
	@echo ""
	@echo "开发相关："
	@echo "  make dev              开发环境启动"
	@echo "  make prod             生产环境启动"
	@echo "  make prod-gunicorn    使用 Gunicorn 启动（Linux/Mac）"
	@echo ""
	@echo "依赖管理："
	@echo "  make install          安装项目依赖"
	@echo ""
	@echo "维护工具："
	@echo "  make clean            清理 Python 缓存文件"
	@echo "  make test             运行测试"
	@echo "  make models           查看可用的 AI 模型"
	@echo ""
	@echo "提示："
	@echo "  - 确保已创建 .env 文件并配置了 API Key"
	@echo "  - Windows 用户也可以直接使用 dev.bat 或 prod.bat"
	@echo ""
	@echo "========================================="

